package com.black.platform.user.service.bz;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.black.common.web.PageQuery;
import com.black.platform.user.po.ShareUser;

import java.util.List;

public interface ShareUserService extends IService<ShareUser> {

    IPage<ShareUser> search(PageQuery<ShareUser> searchVo);

    /**
     * 通过用户名查找用户信息
     *
     * @param username         用户名
     * @param isIncludeInvalid 是否包含无效数据
     * @return 用户信息
     */
    ShareUser findUserByUsername(String username, boolean isIncludeInvalid);

    /**
     * 通过用户名查找用户信息
     *
     * @param username 用户名
     * @return 用户信息
     */
    ShareUser findUserByUsername(String username);

    /**
     * 关闭用户信息
     *
     * @param user 用户信息
     * @return 成功：1 失败：0
     */
    int closeUser(ShareUser user);

    int updateIcon(Long userId, String iconPath);

    /**
     * 获取权限用户
     *
     * @param comCode        权限归属机构
     * @param permissionCode 权限代码
     * @return 操作用户集
     */
    List<ShareUser> findPowerUser(String comCode, String permissionCode);
}
